<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Title</title>
  </head>
  <body>
    <script src="../static/plugins/jquery/jquery-3.3.1.min.js"></script>
    <script>
      $(function () {
        /**
         * ajax请求类型简介
         * */
        $.ajax({
          url: "url", //请求的地址
          type: "get/post", //请求的方式
          async: true, //同步请求
          contentType: "application/json; charset=utf-8", //内容的类型
          timeout: 8000, //设置请求超时时间(毫秒)
          data: "{key: value}", //发送到服务器的数据
          dataType: "json", //服务器返回的数据类型
          global: false, //是否触发全局ajax事件
          success: function (data) {
            //请求成功后调用的回调函数
          },
          error: function (err) {
            //请求失败时被调用的函数
          },
        });
      });

      /**
       * 通用Ajax方法封装: 同步方式请求
       * return: 成功后返回结果, 失败为null
       */
      function callAjax(url, inputData) {
        var result = null;
        $.ajax({
          type: "post",
          async: false, //同步请求
          url: url,
          contentType: "application/json; charset=utf-8",
          //dataType: "json",//返回数据形式为json : 后台返回纯字符串时会报错， 不写这个参数还好些，浏览器会自动判断
          data: JSON.stringify(inputData), //请求数据
          success: function (data) {
            //是否出错判断
            //成功的数据
            result = data;
          },
          error: function (errorMsg) {
            console.error(errorMsg);
            //tipMsg('Ajax请求数据失败:' + errorMsg.responseText);
          },
        }); //ajax

        return result;
      }

      /**
     * 通用Ajax方法封装: 异步方式请求： 要提供回调函数: callFun: function(data, textStatus)
     * return: 无
     * 使用说明：
     * callAsyncAjax(url, null, function(data, textStatus) {
       	 	console.log(textStatus, data);
		});
     */
      function callAsyncAjax(url, inputData, callFun) {
        $.ajax({
          type: "post",
          async: true, //同步请求
          url: url,
          contentType: "application/json; charset=utf-8",
          //dataType: "json",//返回数据形式为json : 后台返回纯字符串时会报错， 不写这个参数还好些，浏览器会自动判断
          data: JSON.stringify(inputData), //请求数据
          success: function (data, textStatus) {
            //是否出错判断
            //成功的数据
            callFun(data, textStatus);
          },
          error: function (errorMsg) {
            console.error(errorMsg);
            //tipMsg('Ajax请求数据失败:' + errorMsg.responseText);
          },
        }); //ajax
      }
    </script>
  </body>
</html>
